// MomentInvar.h: interface for the CMomentInvar class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MOMENTINVAR_H__261E9E10_993B_40C4_9449_EF4FC3360F4E__INCLUDED_)
#define AFX_MOMENTINVAR_H__261E9E10_993B_40C4_9449_EF4FC3360F4E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <math.h>


#define WINDOW_MID 1




class CMomentInvar  
{
public:
	CMomentInvar(float* pDataBeg ,int iWindowSizeX,int iWindowSizeY,
		         int iPowerX,int iPowerY,int iWindiwoType = 0);
	CMomentInvar();
	virtual ~CMomentInvar();

public:
	double HuMomentTwo(float* pDataBeg,CString strError,int iWindowSizeX,int iWindowSizeY,
		           int iPower_x,int iPower_y, int iWindiwoType = 0);
    void Driver();	

// 	double HuMomentTwo(float* pDataBeg,CString strError,int iWindowSizeX,int iWindowSizeY,
// 		           int iPower_x,int iPower_y, int iWindiwoType = 0);

public:
	double GetMomentValue();
	
	
public:	
	int m_iWindowSizeX;
	int m_iWindowSizeY;

	int m_iPowerX;
	int m_iPowerY;
	float* m_pDataBeg;
	CString m_strError;

	double m_iMomentVlaue;



	

};

#endif // !defined(AFX_MOMENTINVAR_H__261E9E10_993B_40C4_9449_EF4FC3360F4E__INCLUDED_)
